Server virtualization poses issues in data center networks, such as having the range of virtual network restricted to L2 domain, Media Access Control (MAC) address table overflow on Ethernet switches, and limited IDs to partition traffic for different virtual machines (VMs). Virtual eXtensible Local Area Network (VXLAN) is an overlay technology that addresses the above issues. Specifically, VXLAN is a new network virtualization technology to segregate traffic in a physical data network into multiple virtual networks. The technology is described in IETF specification in draft-mahalingam-dutt-dcops-vxlan-02, entitled “VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,” which is incorporated herein by reference.
VXLAN extends a L2 virtual network across L3 networks by tunneling the L2 MAC traffic from the individual VMs over the L3 Internet Protocol (IP) core network. Each VXLAN endpoint can encapsulate VM traffic into an IP tunnel upon egress and decapsulate VM traffic upon ingress. Thus, each individual VM's IP address is hidden to external switches, which mitigates the MAC address overflow issue on physical switches. Each encapsulated packet carries a 24 bit VXLAN ID, and hence the VM traffic can be classified into about 16 million partition domains which is sufficient to handle large traffic scenarios.
However, VXLAN encapsulation poses issues for communications between a VM in a VXLAN domain and an external client in a non-VXLAN domain. This is because after the VM packet is encapsulated with a VXLAN header, the VM's IP address becomes invisible to external routers or switches. Hence, external routers are not able to learn the VM's IP address and therefor cannot route a packet to a VM in a VXLAN domain. If an external client in a non-VXLAN domain needs to send out a packet to a VM, the external client sends the packet with an IP address destined to the VM and without VXLAN encapsulation. External routers/switches do not know how to route such a packet from a non-VXLAN domain entity to a VM in a VXLAN domain. The IETF specification for VXLAN does not address how a VM in a VXLAN domain communicates with an external client outside the VXLAN domain. A mechanism is needed to enable routers/switches to handle such scenarios and forward such packets properly.